package com.cm.caseManagement.pojo.entity;
import com.cm.caseManagement.annotation.Excel;
import com.cm.caseManagement.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 诉讼对象 cm_litigation
 *
 * @author ruoyi
 * @date 2025-10-05
 */
public class CmLitigation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 外部唯一id */
    @Excel(name = "外部唯一id")
    private String publicId;

    /** 案件id */
    @Excel(name = "案件id")
    private Long caseId;

    /** 受理通知书 */
    @Excel(name = "受理通知书")
    private Long acceptanceNoticeDocId;

    /** 缴费金额 */
    @Excel(name = "缴费金额")
    private BigDecimal paymentAmount;

    /** 缴费通知书 */
    @Excel(name = "缴费通知书")
    private Long paymentNoticeDocId;

    /** 缴费凭证 */
    @Excel(name = "缴费凭证")
    private String paymentVoucherDocIds;

    /** 诉讼/仲裁案号 */
    @Excel(name = "诉讼/仲裁案号")
    private String caseNumber;

    /** 是否有财产保全：0无，1有 */
    @Excel(name = "是否有财产保全：0无，1有")
    private Integer hasPropertyPreservation;

    /** 保全开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "保全开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date preservationStartDate;

    /** 保全结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "保全结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date preservationEndDate;

    /** 保全阶段 */
    @Excel(name = "保全阶段")
    private Long preservationStage;

    /** 保全申请书 */
    @Excel(name = "保全申请书")
    private Long preservationApplicationDocId;

    /** 网络查控申请书 */
    @Excel(name = "网络查控申请书")
    private Long onlineSearchApplicationDocId;

    /** 紧急情况说明 */
    @Excel(name = "紧急情况说明")
    private Long emergencyExplanationDocId;

    /** 担保函 */
    @Excel(name = "担保函")
    private Long guaranteeLetterDocId;

    /** 保全担保费用凭证 */
    @Excel(name = "保全担保费用凭证")
    private String preservationFeeVoucherDocIds;

    /** 保全受理通知书 */
    @Excel(name = "保全受理通知书")
    private Long preservationNoticeDocId;

    /** 保全缴费通知书 */
    @Excel(name = "保全缴费通知书")
    private Long preservationPaymentNoticeDocId;

    /** 保全缴费凭证 */
    @Excel(name = "保全缴费凭证")
    private String preservationPaymentVoucherDocIds;

    /** 法院裁定书 */
    @Excel(name = "法院裁定书")
    private Long courtVerdictPreservationDocId;

    /** 保全结果 */
    @Excel(name = "保全结果")
    private String preservationResult;

    /** 一次开庭传票 */
    @Excel(name = "一次开庭传票")
    private Long firstTrialFirstSubpoenaDocId;

    /** 一次开庭日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "一次开庭日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date firstTrialFirstDate;

    /** 二次开庭传票 */
    @Excel(name = "二次开庭传票")
    private Long firstTrialSecondSubpoenaDocId;

    /** 二次开庭日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "二次开庭日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date firstTrialSecondDate;

    /** 三次开庭传票 */
    @Excel(name = "三次开庭传票")
    private Long firstTrialThirdSubpoenaDocId;

    /** 三次开庭日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "三次开庭日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date firstTrialThirdDate;

    /** 一审裁决日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "一审裁决日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date firstTrialVerdictDate;

    /** 一审裁判文书 */
    @Excel(name = "一审裁判文书")
    private Long firstTrialVerdictDocId;

    /** 一审执行期限 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "一审执行期限", width = 30, dateFormat = "yyyy-MM-dd")
    private Date firstTrialExecutionDeadline;

    /** 是否有二审：0无，1有 */
    @Excel(name = "是否有二审：0无，1有")
    private Integer hasSecondAppeal;

    /** 二审一次开庭传票 */
    @Excel(name = "二审一次开庭传票")
    private Long secondTrialFirstSubpoenaDocId;

    /** 二审二次开庭日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "二审二次开庭日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date secondTrialSecondDate;

    /** 二审三次开庭传票 */
    @Excel(name = "二审三次开庭传票")
    private Long secondTrialThirdSubpoenaDocId;

    /** 二审三次开庭日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "二审三次开庭日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date secondTrialThirdDate;

    /** 二审裁决日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "二审裁决日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date secondTrialVerdictDate;

    /** 二审裁判文书 */
    @Excel(name = "二审裁判文书")
    private Long secondTrialVerdictDocId;

    /** 二审执行期限 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "二审执行期限", width = 30, dateFormat = "yyyy-MM-dd")
    private Date secondTrialExecutionDeadline;

    /** 是否有再审：0无，1有 */
    @Excel(name = "是否有再审：0无，1有")
    private Integer hasRetrial;

    /** 再审一次开庭传票 */
    @Excel(name = "再审一次开庭传票")
    private Long retrialFirstSubpoenaDocId;

    /** 再审一次开庭日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "再审一次开庭日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date retrialFirstDate;

    /** 再审二次开庭传票 */
    @Excel(name = "再审二次开庭传票")
    private Long retrialSecondSubpoenaDocId;

    /** 再审二次开庭日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "再审二次开庭日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date retrialSecondDate;

    /** 再审三次开庭传票 */
    @Excel(name = "再审三次开庭传票")
    private Long retrialThirdSubpoenaDocId;

    /** 再审三次开庭日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "再审三次开庭日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date retrialThirdDate;

    /** 再审裁决日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "再审裁决日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date retrialVerdictDate;

    /** 再审裁判文书 */
    @Excel(name = "再审裁判文书")
    private Long retrialVerdictDocId;

    /** 再审执行期限 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "再审执行期限", width = 30, dateFormat = "yyyy-MM-dd")
    private Date retrialExecutionDeadline;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setPublicId(String publicId)
    {
        this.publicId = publicId;
    }

    public String getPublicId()
    {
        return publicId;
    }

    public void setCaseId(Long caseId)
    {
        this.caseId = caseId;
    }

    public Long getCaseId()
    {
        return caseId;
    }

    public void setAcceptanceNoticeDocId(Long acceptanceNoticeDocId)
    {
        this.acceptanceNoticeDocId = acceptanceNoticeDocId;
    }

    public Long getAcceptanceNoticeDocId()
    {
        return acceptanceNoticeDocId;
    }

    public void setPaymentAmount(BigDecimal paymentAmount)
    {
        this.paymentAmount = paymentAmount;
    }

    public BigDecimal getPaymentAmount()
    {
        return paymentAmount;
    }

    public void setPaymentNoticeDocId(Long paymentNoticeDocId)
    {
        this.paymentNoticeDocId = paymentNoticeDocId;
    }

    public Long getPaymentNoticeDocId()
    {
        return paymentNoticeDocId;
    }

    public void setPaymentVoucherDocIds(String paymentVoucherDocIds)
    {
        this.paymentVoucherDocIds = paymentVoucherDocIds;
    }

    public String getPaymentVoucherDocIds()
    {
        return paymentVoucherDocIds;
    }

    public void setCaseNumber(String caseNumber)
    {
        this.caseNumber = caseNumber;
    }

    public String getCaseNumber()
    {
        return caseNumber;
    }

    public void setHasPropertyPreservation(Integer hasPropertyPreservation)
    {
        this.hasPropertyPreservation = hasPropertyPreservation;
    }

    public Integer getHasPropertyPreservation()
    {
        return hasPropertyPreservation;
    }

    public void setPreservationStartDate(Date preservationStartDate)
    {
        this.preservationStartDate = preservationStartDate;
    }

    public Date getPreservationStartDate()
    {
        return preservationStartDate;
    }

    public void setPreservationEndDate(Date preservationEndDate)
    {
        this.preservationEndDate = preservationEndDate;
    }

    public Date getPreservationEndDate()
    {
        return preservationEndDate;
    }

    public void setPreservationStage(Long preservationStage)
    {
        this.preservationStage = preservationStage;
    }

    public Long getPreservationStage()
    {
        return preservationStage;
    }

    public void setPreservationApplicationDocId(Long preservationApplicationDocId)
    {
        this.preservationApplicationDocId = preservationApplicationDocId;
    }

    public Long getPreservationApplicationDocId()
    {
        return preservationApplicationDocId;
    }

    public void setOnlineSearchApplicationDocId(Long onlineSearchApplicationDocId)
    {
        this.onlineSearchApplicationDocId = onlineSearchApplicationDocId;
    }

    public Long getOnlineSearchApplicationDocId()
    {
        return onlineSearchApplicationDocId;
    }

    public void setEmergencyExplanationDocId(Long emergencyExplanationDocId)
    {
        this.emergencyExplanationDocId = emergencyExplanationDocId;
    }

    public Long getEmergencyExplanationDocId()
    {
        return emergencyExplanationDocId;
    }

    public void setGuaranteeLetterDocId(Long guaranteeLetterDocId)
    {
        this.guaranteeLetterDocId = guaranteeLetterDocId;
    }

    public Long getGuaranteeLetterDocId()
    {
        return guaranteeLetterDocId;
    }

    public void setPreservationFeeVoucherDocIds(String preservationFeeVoucherDocIds)
    {
        this.preservationFeeVoucherDocIds = preservationFeeVoucherDocIds;
    }

    public String getPreservationFeeVoucherDocIds()
    {
        return preservationFeeVoucherDocIds;
    }

    public void setPreservationNoticeDocId(Long preservationNoticeDocId)
    {
        this.preservationNoticeDocId = preservationNoticeDocId;
    }

    public Long getPreservationNoticeDocId()
    {
        return preservationNoticeDocId;
    }

    public void setPreservationPaymentNoticeDocId(Long preservationPaymentNoticeDocId)
    {
        this.preservationPaymentNoticeDocId = preservationPaymentNoticeDocId;
    }

    public Long getPreservationPaymentNoticeDocId()
    {
        return preservationPaymentNoticeDocId;
    }

    public void setPreservationPaymentVoucherDocIds(String preservationPaymentVoucherDocIds)
    {
        this.preservationPaymentVoucherDocIds = preservationPaymentVoucherDocIds;
    }

    public String getPreservationPaymentVoucherDocIds()
    {
        return preservationPaymentVoucherDocIds;
    }

    public void setCourtVerdictPreservationDocId(Long courtVerdictPreservationDocId)
    {
        this.courtVerdictPreservationDocId = courtVerdictPreservationDocId;
    }

    public Long getCourtVerdictPreservationDocId()
    {
        return courtVerdictPreservationDocId;
    }

    public void setPreservationResult(String preservationResult)
    {
        this.preservationResult = preservationResult;
    }

    public String getPreservationResult()
    {
        return preservationResult;
    }

    public void setFirstTrialFirstSubpoenaDocId(Long firstTrialFirstSubpoenaDocId)
    {
        this.firstTrialFirstSubpoenaDocId = firstTrialFirstSubpoenaDocId;
    }

    public Long getFirstTrialFirstSubpoenaDocId()
    {
        return firstTrialFirstSubpoenaDocId;
    }

    public void setFirstTrialFirstDate(Date firstTrialFirstDate)
    {
        this.firstTrialFirstDate = firstTrialFirstDate;
    }

    public Date getFirstTrialFirstDate()
    {
        return firstTrialFirstDate;
    }

    public void setFirstTrialSecondSubpoenaDocId(Long firstTrialSecondSubpoenaDocId)
    {
        this.firstTrialSecondSubpoenaDocId = firstTrialSecondSubpoenaDocId;
    }

    public Long getFirstTrialSecondSubpoenaDocId()
    {
        return firstTrialSecondSubpoenaDocId;
    }

    public void setFirstTrialSecondDate(Date firstTrialSecondDate)
    {
        this.firstTrialSecondDate = firstTrialSecondDate;
    }

    public Date getFirstTrialSecondDate()
    {
        return firstTrialSecondDate;
    }

    public void setFirstTrialThirdSubpoenaDocId(Long firstTrialThirdSubpoenaDocId)
    {
        this.firstTrialThirdSubpoenaDocId = firstTrialThirdSubpoenaDocId;
    }

    public Long getFirstTrialThirdSubpoenaDocId()
    {
        return firstTrialThirdSubpoenaDocId;
    }

    public void setFirstTrialThirdDate(Date firstTrialThirdDate)
    {
        this.firstTrialThirdDate = firstTrialThirdDate;
    }

    public Date getFirstTrialThirdDate()
    {
        return firstTrialThirdDate;
    }

    public void setFirstTrialVerdictDate(Date firstTrialVerdictDate)
    {
        this.firstTrialVerdictDate = firstTrialVerdictDate;
    }

    public Date getFirstTrialVerdictDate()
    {
        return firstTrialVerdictDate;
    }

    public void setFirstTrialVerdictDocId(Long firstTrialVerdictDocId)
    {
        this.firstTrialVerdictDocId = firstTrialVerdictDocId;
    }

    public Long getFirstTrialVerdictDocId()
    {
        return firstTrialVerdictDocId;
    }

    public void setFirstTrialExecutionDeadline(Date firstTrialExecutionDeadline)
    {
        this.firstTrialExecutionDeadline = firstTrialExecutionDeadline;
    }

    public Date getFirstTrialExecutionDeadline()
    {
        return firstTrialExecutionDeadline;
    }

    public void setHasSecondAppeal(Integer hasSecondAppeal)
    {
        this.hasSecondAppeal = hasSecondAppeal;
    }

    public Integer getHasSecondAppeal()
    {
        return hasSecondAppeal;
    }

    public void setSecondTrialFirstSubpoenaDocId(Long secondTrialFirstSubpoenaDocId)
    {
        this.secondTrialFirstSubpoenaDocId = secondTrialFirstSubpoenaDocId;
    }

    public Long getSecondTrialFirstSubpoenaDocId()
    {
        return secondTrialFirstSubpoenaDocId;
    }

    public void setSecondTrialSecondDate(Date secondTrialSecondDate)
    {
        this.secondTrialSecondDate = secondTrialSecondDate;
    }

    public Date getSecondTrialSecondDate()
    {
        return secondTrialSecondDate;
    }

    public void setSecondTrialThirdSubpoenaDocId(Long secondTrialThirdSubpoenaDocId)
    {
        this.secondTrialThirdSubpoenaDocId = secondTrialThirdSubpoenaDocId;
    }

    public Long getSecondTrialThirdSubpoenaDocId()
    {
        return secondTrialThirdSubpoenaDocId;
    }

    public void setSecondTrialThirdDate(Date secondTrialThirdDate)
    {
        this.secondTrialThirdDate = secondTrialThirdDate;
    }

    public Date getSecondTrialThirdDate()
    {
        return secondTrialThirdDate;
    }

    public void setSecondTrialVerdictDate(Date secondTrialVerdictDate)
    {
        this.secondTrialVerdictDate = secondTrialVerdictDate;
    }

    public Date getSecondTrialVerdictDate()
    {
        return secondTrialVerdictDate;
    }

    public void setSecondTrialVerdictDocId(Long secondTrialVerdictDocId)
    {
        this.secondTrialVerdictDocId = secondTrialVerdictDocId;
    }

    public Long getSecondTrialVerdictDocId()
    {
        return secondTrialVerdictDocId;
    }

    public void setSecondTrialExecutionDeadline(Date secondTrialExecutionDeadline)
    {
        this.secondTrialExecutionDeadline = secondTrialExecutionDeadline;
    }

    public Date getSecondTrialExecutionDeadline()
    {
        return secondTrialExecutionDeadline;
    }

    public void setHasRetrial(Integer hasRetrial)
    {
        this.hasRetrial = hasRetrial;
    }

    public Integer getHasRetrial()
    {
        return hasRetrial;
    }

    public void setRetrialFirstSubpoenaDocId(Long retrialFirstSubpoenaDocId)
    {
        this.retrialFirstSubpoenaDocId = retrialFirstSubpoenaDocId;
    }

    public Long getRetrialFirstSubpoenaDocId()
    {
        return retrialFirstSubpoenaDocId;
    }

    public void setRetrialFirstDate(Date retrialFirstDate)
    {
        this.retrialFirstDate = retrialFirstDate;
    }

    public Date getRetrialFirstDate()
    {
        return retrialFirstDate;
    }

    public void setRetrialSecondSubpoenaDocId(Long retrialSecondSubpoenaDocId)
    {
        this.retrialSecondSubpoenaDocId = retrialSecondSubpoenaDocId;
    }

    public Long getRetrialSecondSubpoenaDocId()
    {
        return retrialSecondSubpoenaDocId;
    }

    public void setRetrialSecondDate(Date retrialSecondDate)
    {
        this.retrialSecondDate = retrialSecondDate;
    }

    public Date getRetrialSecondDate()
    {
        return retrialSecondDate;
    }

    public void setRetrialThirdSubpoenaDocId(Long retrialThirdSubpoenaDocId)
    {
        this.retrialThirdSubpoenaDocId = retrialThirdSubpoenaDocId;
    }

    public Long getRetrialThirdSubpoenaDocId()
    {
        return retrialThirdSubpoenaDocId;
    }

    public void setRetrialThirdDate(Date retrialThirdDate)
    {
        this.retrialThirdDate = retrialThirdDate;
    }

    public Date getRetrialThirdDate()
    {
        return retrialThirdDate;
    }

    public void setRetrialVerdictDate(Date retrialVerdictDate)
    {
        this.retrialVerdictDate = retrialVerdictDate;
    }

    public Date getRetrialVerdictDate()
    {
        return retrialVerdictDate;
    }

    public void setRetrialVerdictDocId(Long retrialVerdictDocId)
    {
        this.retrialVerdictDocId = retrialVerdictDocId;
    }

    public Long getRetrialVerdictDocId()
    {
        return retrialVerdictDocId;
    }

    public void setRetrialExecutionDeadline(Date retrialExecutionDeadline)
    {
        this.retrialExecutionDeadline = retrialExecutionDeadline;
    }

    public Date getRetrialExecutionDeadline()
    {
        return retrialExecutionDeadline;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("publicId", getPublicId())
            .append("caseId", getCaseId())
            .append("acceptanceNoticeDocId", getAcceptanceNoticeDocId())
            .append("paymentAmount", getPaymentAmount())
            .append("paymentNoticeDocId", getPaymentNoticeDocId())
            .append("paymentVoucherDocIds", getPaymentVoucherDocIds())
            .append("caseNumber", getCaseNumber())
            .append("hasPropertyPreservation", getHasPropertyPreservation())
            .append("preservationStartDate", getPreservationStartDate())
            .append("preservationEndDate", getPreservationEndDate())
            .append("preservationStage", getPreservationStage())
            .append("preservationApplicationDocId", getPreservationApplicationDocId())
            .append("onlineSearchApplicationDocId", getOnlineSearchApplicationDocId())
            .append("emergencyExplanationDocId", getEmergencyExplanationDocId())
            .append("guaranteeLetterDocId", getGuaranteeLetterDocId())
            .append("preservationFeeVoucherDocIds", getPreservationFeeVoucherDocIds())
            .append("preservationNoticeDocId", getPreservationNoticeDocId())
            .append("preservationPaymentNoticeDocId", getPreservationPaymentNoticeDocId())
            .append("preservationPaymentVoucherDocIds", getPreservationPaymentVoucherDocIds())
            .append("courtVerdictPreservationDocId", getCourtVerdictPreservationDocId())
            .append("preservationResult", getPreservationResult())
            .append("firstTrialFirstSubpoenaDocId", getFirstTrialFirstSubpoenaDocId())
            .append("firstTrialFirstDate", getFirstTrialFirstDate())
            .append("firstTrialSecondSubpoenaDocId", getFirstTrialSecondSubpoenaDocId())
            .append("firstTrialSecondDate", getFirstTrialSecondDate())
            .append("firstTrialThirdSubpoenaDocId", getFirstTrialThirdSubpoenaDocId())
            .append("firstTrialThirdDate", getFirstTrialThirdDate())
            .append("firstTrialVerdictDate", getFirstTrialVerdictDate())
            .append("firstTrialVerdictDocId", getFirstTrialVerdictDocId())
            .append("firstTrialExecutionDeadline", getFirstTrialExecutionDeadline())
            .append("hasSecondAppeal", getHasSecondAppeal())
            .append("secondTrialFirstSubpoenaDocId", getSecondTrialFirstSubpoenaDocId())
            .append("secondTrialSecondDate", getSecondTrialSecondDate())
            .append("secondTrialThirdSubpoenaDocId", getSecondTrialThirdSubpoenaDocId())
            .append("secondTrialThirdDate", getSecondTrialThirdDate())
            .append("secondTrialVerdictDate", getSecondTrialVerdictDate())
            .append("secondTrialVerdictDocId", getSecondTrialVerdictDocId())
            .append("secondTrialExecutionDeadline", getSecondTrialExecutionDeadline())
            .append("hasRetrial", getHasRetrial())
            .append("retrialFirstSubpoenaDocId", getRetrialFirstSubpoenaDocId())
            .append("retrialFirstDate", getRetrialFirstDate())
            .append("retrialSecondSubpoenaDocId", getRetrialSecondSubpoenaDocId())
            .append("retrialSecondDate", getRetrialSecondDate())
            .append("retrialThirdSubpoenaDocId", getRetrialThirdSubpoenaDocId())
            .append("retrialThirdDate", getRetrialThirdDate())
            .append("retrialVerdictDate", getRetrialVerdictDate())
            .append("retrialVerdictDocId", getRetrialVerdictDocId())
            .append("retrialExecutionDeadline", getRetrialExecutionDeadline())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
